/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Empregado;

import java.io.EOFException;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.HashMap;
import java.util.Map;

/**
 *
 * @author andrevieira
 */
public class LerArquivo {
    
    public Map<String, Empregado> recuperarEmpregado() {
        ObjectInputStream input = null;
        Map<String, Empregado> mapaEmpregado= new HashMap<String, Empregado>();
        Empregado empregado;
        
        // Abertura do arquivo
        try {
            input = new ObjectInputStream(new FileInputStream("arquivo.dat"));
        }
        catch (IOException ioException) {
            System.err.println("Não foi possível abrir o arquivo.");
        }
        
        try {
            while (true) {
                empregado = (Empregado) input.readObject();
                mapaEmpregado.put(empregado.getCpf(), empregado);
            }
        }
        catch (EOFException endOfFileException) {
        }
        catch (IOException ioException) {
            System.err.println("Não foi possível ler o arquivo.");
        }
        catch (ClassNotFoundException classException) {
            System.err.println("Não foi possível criar o objeto.");
        }
        catch (NullPointerException nullPointerException) {
        }
        
        // Fechamento do arquivo
        try {
            input.close();
        }
        catch (IOException ioException) {
            System.err.println("Não foi possível fechar o arquivo.");
            System.exit(1);
        }
        return mapaEmpregado;
    }
    
}
